<?php

	/**
	 * Clase mtiposeguimientos ...
	 * @author Algenis Volquez
	 */

	class mtiposeguimientos extends Model{
		
		private $mTableName = 'IB_Seguimiento';
		
		function __construct()
		{
			parent::Model();
		}
		
		function createTipoSeguimiento($tipoSeguimiento)
		{
			if(empty($tipoSeguimiento)){
				return false;
			}
			
			$data = array('tipoSeguimiento'	=> $tipoSeguimiento);
			
			$this->db->insert($this->mTableName, $data);
			
			return $this->loadTipoSeguimientoById($this->db->insert_id());
		}
		
		function updateTipoSeguimiento($seguimiento)
		{
			$tipoSeguimiento = $seguimiento->getMTipoSeguimiento();
			
			$data = array('TipoSeguimiento'	=>	$tipoSeguimiento);
			
			$this->db->where('idSeguimiento', $seguimiento->getMIdTipoSeguimiento());
        	$this->db->update($this->mTableName, $data);
        	
        	return true;
		}
		
		function loadTipoSeguimientoById($id_seguimiento) {
			$qresult = $this->db->get_where($this->mTableName, array('idSeguimiento' => $id_seguimiento));

			if ($qresult->num_rows() == 0)
				return false;
	
			return new MTiposeguimiento($qresult->row());
		}
		
		function loadTipoSeguimientoByType($id) {
			$qresult = $this->db->get_where($this->mTableName, array('tipoSeguimiento' => $id));

			if ($qresult->num_rows() == 0)
				return false;
	
			return new MTiposeguimiento($qresult->row());
		}
		
		function loadTipoSeguimientos($name = false, $start = false, $offset = false, $sortname = false, $sortorder = false) {
			if($name != false && $name != '')
				$this->db->like('tipoSeguimiento', $name);
			
			if($offset != false)
				$this->db->limit($offset, $start);

			if($sortname != false && $sortorder != false) {
				$this->db->order_by($sortname, $sortorder);
			}
	
			$result = $this->db->get_where($this->mTableName);
	
			return $this->getTipoSeguimientosArrayFromQueryResult($result);
		}
		
		function getCount() {
			return count($this->loadTipoSeguimientos());
		}
		
		function getTipoSeguimientosArrayFromQueryResult($result) {
			if ($result->num_rows() == 0)
				return false;
	
			$seguimientos_arr = array();
	
			foreach ($result->result() as $record) {
				$seguimientos_arr[] = new MTiposeguimiento($record);
			}
	
			return $seguimientos_arr;
    	}
    	
		function delete($id_seguimiento) 
		{
			$return = $this->db->delete($this->mTableName, array('idSeguimiento' => $id_seguimiento));
			return $return;
		}
	}
	
	class MTiposeguimiento{
		
		private $mIdTipoSeguimiento = 0;
		private $mTipoSeguimiento = "";
		
		function __construct($object)
		{
			$this->setMIdTipoSeguimiento($object->idSeguimiento);
			$this->setMTipoSeguimiento($object->tipoSeguimiento);
		}
		
		function getMIdTipoSeguimiento()
		{
			return $this->mIdTipoSeguimiento;
		}
		
		function getMTipoSeguimiento()
		{
			return $this->mTipoSeguimiento;
		}
		
		function setMIdTipoSeguimiento($mIdTipoSeguimiento)
		{
			$this->mIdTipoSeguimiento = $mIdTipoSeguimiento;
		}
		
		function setMTipoSeguimiento($mTipoSeguimiento)
		{
			$this->mTipoSeguimiento = $mTipoSeguimiento;
		}
	}